using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ChatMgr")]
	public class ChatMgr : MonoBehaviour
	{
		public enum KeyboardState
		{
			None,
			Below,
			Above
		}

		public ChatMgrPrefabs m_Prefabs => method_3<ChatMgrPrefabs>("m_Prefabs");

		public ChatMgrBubbleInfo m_ChatBubbleInfo => method_3<ChatMgrBubbleInfo>("m_ChatBubbleInfo");

		public float m_chatLogXOffset => method_2<float>("m_chatLogXOffset");

		public List<ChatBubbleFrame> m_chatBubbleFrames => method_3<Class271<ChatBubbleFrame>>("m_chatBubbleFrames")?.method_25();

		public FriendListFrame m_friendListFrame => method_3<FriendListFrame>("m_friendListFrame");

		public PegUIElement m_closeCatcher => method_3<PegUIElement>("m_closeCatcher");

		public List<BnetPlayer> m_recentWhisperPlayers => method_3<Class271<BnetPlayer>>("m_recentWhisperPlayers")?.method_25();

		public bool m_chatLogFrameShown => method_2<bool>("m_chatLogFrameShown");

		public KeyboardState keyboardState => method_2<KeyboardState>("keyboardState");

		public Rect keyboardArea => method_2<Rect>("keyboardArea");

		public FriendListFrame FriendListFrame => method_14<FriendListFrame>("get_FriendListFrame", Array.Empty<object>());

		public Rect KeyboardRect => method_11<Rect>("get_KeyboardRect", Array.Empty<object>());

		public ChatMgr(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ChatMgr(IntPtr address)
			: this(address, "ChatMgr")
		{
		}

		public static ChatMgr Get()
		{
			return MonoClass.smethod_15<ChatMgr>(TritonHs.MainAssemblyPath, "", "ChatMgr", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void Update()
		{
			method_8("Update");
		}

		public void WillReset()
		{
			method_8("WillReset");
		}

		public KeyboardState ComputeKeyboardState()
		{
			return method_11<KeyboardState>("ComputeKeyboardState", Array.Empty<object>());
		}

		public void InitCloseCatcher()
		{
			method_8("InitCloseCatcher");
		}

		public void InitChatLogUI()
		{
			method_8("InitChatLogUI");
		}

		public FriendListFrame CreateFriendsListUI()
		{
			return method_14<FriendListFrame>("CreateFriendsListUI", Array.Empty<object>());
		}

		public void UpdateLayout()
		{
			method_8("UpdateLayout");
		}

		public void UpdateLayoutForOnScreenKeyboard()
		{
			method_8("UpdateLayoutForOnScreenKeyboard");
		}

		public void UpdateLayoutForOnScreenKeyboardOnPhone()
		{
			method_8("UpdateLayoutForOnScreenKeyboardOnPhone");
		}

		public bool IsChatLogFrameShown()
		{
			return method_11<bool>("IsChatLogFrameShown", Array.Empty<object>());
		}

		public void OnCloseCatcherRelease(UIEvent e)
		{
			method_8("OnCloseCatcherRelease", e);
		}

		public bool IsFriendListShowing()
		{
			return method_11<bool>("IsFriendListShowing", Array.Empty<object>());
		}

		public void ShowFriendsList()
		{
			method_8("ShowFriendsList");
		}

		public void HideFriendsList()
		{
			method_8("HideFriendsList");
		}

		public void CloseFriendsList()
		{
			method_8("CloseFriendsList");
		}

		public void GoBack()
		{
			method_8("GoBack");
		}

		public void CloseChatUI()
		{
			method_8("CloseChatUI");
		}

		public void CleanUp()
		{
			method_8("CleanUp");
		}

		public void DestroyFriendListFrame()
		{
			method_8("DestroyFriendListFrame");
		}

		public List<BnetPlayer> GetRecentWhisperPlayers()
		{
			return method_14<Class271<BnetPlayer>>("GetRecentWhisperPlayers", Array.Empty<object>())?.method_25();
		}

		public void AddRecentWhisperPlayerToTop(BnetPlayer player)
		{
			method_8("AddRecentWhisperPlayerToTop", player);
		}

		public void AddRecentWhisperPlayerToBottom(BnetPlayer player)
		{
			method_8("AddRecentWhisperPlayerToBottom", player);
		}

		public PlayerChatInfo GetPlayerChatInfo(BnetPlayer player)
		{
			return method_14<PlayerChatInfo>("GetPlayerChatInfo", new object[1] { player });
		}

		public PlayerChatInfo RegisterPlayerChatInfo(BnetPlayer player)
		{
			return method_14<PlayerChatInfo>("RegisterPlayerChatInfo", new object[1] { player });
		}

		public void OnFriendListOpened()
		{
			method_8("OnFriendListOpened");
		}

		public void OnFriendListClosed()
		{
			method_8("OnFriendListClosed");
		}

		public void OnFriendListFriendSelected(BnetPlayer friend)
		{
			method_8("OnFriendListFriendSelected", friend);
		}

		public void OnChatLogFrameShown()
		{
			method_8("OnChatLogFrameShown");
		}

		public void OnChatLogFrameHidden()
		{
			method_8("OnChatLogFrameHidden");
		}

		public void OnChatReceiverChanged(BnetPlayer player)
		{
			method_8("OnChatReceiverChanged", player);
		}

		public void OnChatFramesMoved()
		{
			method_8("OnChatFramesMoved");
		}

		public bool HandleKeyboardInput()
		{
			return method_11<bool>("HandleKeyboardInput", Array.Empty<object>());
		}

		public void HandleGUIInput()
		{
			method_8("HandleGUIInput");
		}

		public void OnFriendsChanged(BnetFriendChangelist changelist, object userData)
		{
			method_8("OnFriendsChanged", changelist, userData);
		}

		public void OnFatalError(FatalErrorMessage message, object userData)
		{
			method_8("OnFatalError", message, userData);
		}

		public void HandleGUIInputForQuickChat()
		{
			method_8("HandleGUIInputForQuickChat");
		}

		public bool IsMobilePlatform()
		{
			return method_11<bool>("IsMobilePlatform", Array.Empty<object>());
		}

		public void ShowChatForPlayer(BnetPlayer player)
		{
			method_8("ShowChatForPlayer", player);
		}

		public BnetPlayer GetMostRecentWhisperedPlayer()
		{
			return method_14<BnetPlayer>("GetMostRecentWhisperedPlayer", Array.Empty<object>());
		}

		public void UpdatePlayerFocusTime(BnetPlayer player)
		{
			method_8("UpdatePlayerFocusTime", player);
		}

		public void FireChatInfoChangedEvent(PlayerChatInfo chatInfo)
		{
			method_8("FireChatInfoChangedEvent", chatInfo);
		}

		public void UpdateChatBubbleParentLayout()
		{
			method_8("UpdateChatBubbleParentLayout");
		}

		public void UpdateChatBubbleLayout()
		{
			method_8("UpdateChatBubbleLayout");
		}

		public void MoveChatBubbles(ChatBubbleFrame newBubbleFrame)
		{
			method_8("MoveChatBubbles", newBubbleFrame);
		}

		public void OnChatBubbleScaleInComplete(ChatBubbleFrame bubbleFrame)
		{
			method_8("OnChatBubbleScaleInComplete", bubbleFrame);
		}

		public void OnChatBubbleFadeOutComplete(ChatBubbleFrame bubbleFrame)
		{
			method_8("OnChatBubbleFadeOutComplete", bubbleFrame);
		}

		public void RemoveAllChatBubbles()
		{
			method_8("RemoveAllChatBubbles");
		}

		public void OnChatBubbleReleased(UIEvent e)
		{
			method_8("OnChatBubbleReleased", e);
		}

		public void OnKeyboardShow()
		{
			method_8("OnKeyboardShow");
		}

		public void OnKeyboardHide()
		{
			method_8("OnKeyboardHide");
		}

		public void OnDialogShown()
		{
			method_8("OnDialogShown");
		}
	}
}
